package com.bd.scm.domain.dto.timeCard;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * @author yufc
 */
@ApiModel(value="com-bd-scm-domain-models-timeCard-BdKqAccounts")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class AttendanceAccountsDto implements Serializable {
    /**
    * 自增ID
    */
    @ApiModelProperty(value="自增ID")
    private Long id;

    /**
    * 员工ID
    */
    @ApiModelProperty(value="员工ID")
    private Long userSerial;

    /**
    * 部门ID
    */
    @ApiModelProperty(value="部门ID")
    private Long deptId;

    /**
    * 年
    */
    @ApiModelProperty(value="年")
    private Integer year;

    /**
    * 月
    */
    @ApiModelProperty(value="月")
    private Integer month;

    /**
    * 年月
    */
    @ApiModelProperty(value="年月")
    private String sealYm;

    /**
    * 封账状态 
   0：未封账
   1：考勤员封账 
   2：HR封账
    */
    @ApiModelProperty(value="封账状态 ,   0：未封账,   1：考勤员封账 ,   2：HR封账")
    private Integer lockStatus;

    /**
    * 考勤状态
   1：正常
   2：异常
    */
    @ApiModelProperty(value="考勤状态,   1：正常,   2：异常")
    private Integer attendanceStatus;

    /**
    * 应出工时
    */
    @ApiModelProperty(value="应出工时")
    private Integer shouldHour;

    /**
    * 实出工时
    */
    @ApiModelProperty(value="实出工时")
    private Integer actualHour;

    /**
    * 加班时长
    */
    @ApiModelProperty(value="加班时长")
    private Integer overtimeHour;

    /**
    * 放班时长
    */
    @ApiModelProperty(value="放班时长")
    private Integer offDutyHour;

    /**
    * 请假时长
    */
    @ApiModelProperty(value="请假时长")
    private Integer leaveHour;

    /**
    * 迟到时长
    */
    @ApiModelProperty(value="迟到时长")
    private Integer lateHour;

    /**
    * 早退时长
    */
    @ApiModelProperty(value="早退时长")
    private Integer earlyHour;

    /**
    * 创建人
    */
    @ApiModelProperty(value="创建人")
    private Integer createBy;

    /**
    * 创建时间
    */
    @ApiModelProperty(value="创建时间")
    private Date createTime;

    /**
    * 更新人
    */
    @ApiModelProperty(value="更新人")
    private Integer updateBy;

    /**
    * 更新时间
    */
    @ApiModelProperty(value="更新时间")
    private Date updateTime;

    /**
    * 封账开始日期
    */
    @ApiModelProperty(value="封账开始日期")
    private Date lockDateBegin;

    /**
    * 封账结束日期
    */
    @ApiModelProperty(value="封账结束日期")
    private Date lockDateEnd;

    private static final long serialVersionUID = 1L;
}